// MIR for `foo` after built

fn foo(_1: Foo) -> usize {
    debug foo => _1;                     // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
    let mut _0: usize;                   // return place in scope 0 at $DIR/enum_cast.rs:+0:21: +0:26
    let _2: Foo;                         // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
    let mut _3: isize;                   // in scope 0 at $DIR/enum_cast.rs:+1:5: +1:8

    bb0: {
        StorageLive(_2);                 // scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
        _2 = move _1;                    // scope 0 at $DIR/enum_cast.rs:+1:5: +1:8
        _3 = discriminant(_2);           // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
        _0 = move _3 as usize (IntToInt); // scope 0 at $DIR/enum_cast.rs:+1:5: +1:17
        StorageDead(_2);                 // scope 0 at $DIR/enum_cast.rs:+1:16: +1:17
        return;                          // scope 0 at $DIR/enum_cast.rs:+2:2: +2:2
    }
}
